/* 
 还是使用函数封装，不使用混入方式吧
 然后持久化存储数据，本地缓存和store中即可
 */
import store from '../../store/index.js'
import permision from './permission.js'
let platform = uni.getSystemInfoSync().platform //手机型号
let flag = false
//参数back true false 判断定位完成后是否返回当前页面的上一页
// 首页获取定位


export async function getLocations(backs = false) {
	// 坐标
	let type = platform == 'android' ? 'gcj02' : 'wgs84';
	// let r = false
	// if(platform == 'android'){
	// 	if(backs){
	// 		r = true
	// 	} 
	// } else {
	// 	r = await openGps1()
	// }
	console.log(flag, 'flag----');
	if (openGps() || flag) {

		// #ifndef APP-PLUS
		uni.showLoading({
			title: '获取位置中……',
		})
		// #endif
		// #ifdef APP-PLUS
		plus.nativeUI.showWaiting('获取位置中……')
		// #endif
		store.commit('setLatitude', '')
		store.commit('setLongitude', '')
		store.commit('setCity', '')
		store.commit('setAddress', '')
		uni.getLocation({

			/* 
			 Android端altitude设置为true,要不然定位失败，
			 ios端不需要
			 */
			altitude: platform == 'android' ? true : true,
			type: type,
			geocode: true, //安卓需指定 type 为 gcj02 并配置三方定位SDK。h5端需要逆解析地理位置获取城市
			success: res => {
				console.log(res, '地理位置-------------');
				// #ifndef APP-PLUS
				uni.hideLoading();
				// #endif
				// #ifdef APP-PLUS
				plus.nativeUI.closeWaiting()
				// #endif

				// let location = res.longitude + ',' + res.latitude; //经纬度
				store.commit('setLatitude', res.latitude)
				store.commit('setLongitude', res.longitude)

				plus.nativeUI.toast('获取定位成功！')

				/*
				 在选择地址页面，选择完地址需要回到上个页面,更新当前护士地址
				 */



				// APP端可以获取详细地址
				/* 
				 IOS端如果设置定位中：如果不授权打开精确位置，则拿不到街道street和streetNum信息。
				 */
				// #ifdef APP-PLUS
				let city = res.address.city; //城市
				let street = res.address.street ? res.address.street : ''
				let streetNum = res.address.streetNum ? res.address.streetNum : ''

				let address = res.address.district + street + streetNum //详细地址
				console.log(address, '详细地址是');
				let detailAddress = res.address.province + city + res.address.district +
					address //省市区具体位置(一键报警用到)
				store.commit('setCity', city)
				store.commit('setAddress', address)
				// store.commit('setDetailAddress',detailAddress)

				// 用户详细地址，更新护士地址用
				// store.dispatch('updateAddress',detailAddress)


				// #endif
			},
			fail(err) {
				console.log(err, '获取位置失败了');
				// #ifndef APP-PLUS
				uni.hideLoading();
				// #endif
				// #ifdef APP-PLUS
				plus.nativeUI.closeWaiting()
				// #endif

				if (err.errCode == -1502) {
					// #ifdef APP-PLUS
					plus.nativeUI.toast('网络不畅，请稍后重试')
					// #endif
				} else {
					// #ifdef APP-PLUS
					plus.nativeUI.toast('获取定位结果错误,请确认是否开启定位权限~')
					// #endif
					return false
				}
			}
		});
		return true
	} else {
		// permision.gotoAppPermissionSetting()
		return false
	}
}
// 这个方法不更新经纬度！！这是为了我的和职业资格认证里自动获取定位
export function getLocation1(mytype) {
	let type = ''
	// = platform == 'android' ? 'gcj02' : 'wgs84'
	if (openGps() || flag) {
		if (platform == 'android') {
			type = 'gcj02'
		} else {
			type = 'wgs84'
		}
		// #ifndef APP-PLUS
		uni.showLoading({
			title: '获取位置中……',
		})
		// #endif
		// #ifdef APP-PLUS
		plus.nativeUI.showWaiting('获取位置中……')
		// #endif
		store.commit('setMyAddress', '')
		uni.getLocation({
			/* 
			 Android端altitude设置为true,要不然定位失败，
			 ios端不需要
			 */
			altitude: platform == 'android' ? true : true,
			type: type,
			geocode: true, //安卓需指定 type 为 gcj02 并配置三方定位SDK。h5端需要逆解析地理位置获取城市
			success: res => {
				console.log(res, '地理位置-------------');
				// #ifndef APP-PLUS
				uni.hideLoading();
				// #endif
				// #ifdef APP-PLUS
				plus.nativeUI.closeWaiting()
				// #endif



				// APP端可以获取详细地址
				/* 
				 IOS端如果设置定位中：如果不授权打开精确位置，则拿不到街道street和streetNum信息。
				 */
				// #ifdef APP-PLUS

				let city = res.address.city; //城市

				let detailAddress = res.address.province + city + res.address.district + res.address
					.street //省市区具体位置(一键报警用到)
				console.log(detailAddress, mytype, '详细地址是000000-----------');
				if (mytype != 'departAddress') {
					store.commit('setMyAddress', detailAddress)
				}
				uni.$emit(mytype, {
					my: res.address.district + res.address.street,
					city: city,
					myaddress: res.address.district + res.address.street
				});
				// uni.$emit('myAddress', { my:res.address.district+res.address.street, city: city,myaddress:res.address.district+res.address.street});
				// if(string=='2'){
				// 	uni.$emit('myAddress', { my: detailAddress,city,myaddress: res.address.district+res.address.street});
				// }
				// store.commit('setMyAddress2',{city,detailAddress:res.address.district+res.address.street})
				// #endif
			},
			fail(err) {
				console.log(err, '获取位置失败了');
				// #ifndef APP-PLUS
				uni.hideLoading();
				// #endif
				// #ifdef APP-PLUS
				plus.nativeUI.closeWaiting()
				// #endif

				if (err.errCode == -1502) {
					// #ifdef APP-PLUS
					plus.nativeUI.toast('网络不畅，请稍后重试')
					// #endif
				} else {
					// #ifdef APP-PLUS
					permision.gotoAppPermissionSetting()
					// #endif
					return false
				}
			}
		});
		return true
	} else {
		// permision.gotoAppPermissionSetting()
		return false
	}
}
// 开始服务时需要更新地址
export function getLocation2(mytype) {
	if (openGps() || flag) {
		let type = platform == 'android' ? 'gcj02' : 'wgs84';

		// #ifndef APP-PLUS
		uni.showLoading({
			title: '获取位置中……',
		})
		// #endif
		// #ifdef APP-PLUS
		plus.nativeUI.showWaiting('获取位置中……')
		// #endif
		store.commit('setStartServeLocation', '')
		uni.getLocation({
			altitude: platform == 'android' ? true : true,
			type: type,
			geocode: true, //安卓需指定 type 为 gcj02 并配置三方定位SDK。h5端需要逆解析地理位置获取城市
			success: res => {
				console.log(res, '地理位置-------------');
				// #ifndef APP-PLUS
				uni.hideLoading();
				// #endif
				// #ifdef APP-PLUS
				plus.nativeUI.closeWaiting()
				// #endif



				// APP端可以获取详细地址
				/* 
				 IOS端如果设置定位中：如果不授权打开精确位置，则拿不到街道street和streetNum信息。
				 */
				// #ifdef APP-PLUS
				store.commit('setStartServeLocation', {
					latitude: res.latitude,
					longitude: res.longitude
				})
				// #endif
			},
			fail(err) {
				console.log(err, '获取位置失败了');
				// #ifndef APP-PLUS
				uni.hideLoading();
				// #endif
				// #ifdef APP-PLUS
				plus.nativeUI.closeWaiting()
				// #endif

				if (err.errCode == -1502) {
					// #ifdef APP-PLUS
					plus.nativeUI.toast('网络不畅，请稍后重试')
					// #endif
				} else {
					// #ifdef APP-PLUS
					permision.gotoAppPermissionSetting()
					// #endif
					return false
				}
			}
		});
		return true
	} else {
		permision.gotoAppPermissionSetting()
		return false
	}
}


export function getLocation3(mytype) {
	if (openGps() || flag) {
		let type = platform == 'android' ? 'gcj02' : 'wgs84';

		uni.getLocation({
			altitude: platform == 'android' ? true : true,
			type: type,
			geocode: true, //安卓需指定 type 为 gcj02 并配置三方定位SDK。h5端需要逆解析地理位置获取城市
			success: res => {
				store.dispatch('continuousReportLocation')
			},
			fail(err) {
				console.log(err, '获取位置失败了');
				// #ifndef APP-PLUS
				uni.hideLoading();
				// #endif
				// #ifdef APP-PLUS
				plus.nativeUI.closeWaiting()
				// #endif

				if (err.errCode == -1502) {
					// #ifdef APP-PLUS
					plus.nativeUI.toast('网络不畅，请稍后重试')
					// #endif
				} else {
					// #ifdef APP-PLUS
					permision.gotoAppPermissionSetting()
					// #endif
					return false
				}
			}
		});
		return true
	} else {
		permision.gotoAppPermissionSetting()
		return false
	}
}

// 重新封装更新地址
export function getLocation4() {
	return new Promise((resolve, reject) => {
		if (openGps() || flag) {
			let type = platform == 'android' ? 'gcj02' : 'wgs84';

			// #ifndef APP-PLUS
			uni.showLoading({
				title: '获取位置中……',
			})
			// #endif
			// #ifdef APP-PLUS
			plus.nativeUI.showWaiting('获取位置中……')
			// #endif
			store.commit('setStartServeLocation', '')
			uni.getLocation({
				altitude: platform == 'android' ? true : true,
				type: type,
				geocode: true, //安卓需指定 type 为 gcj02 并配置三方定位SDK。h5端需要逆解析地理位置获取城市
				success: res => {
					console.log(res, '地理位置-------------');
					// #ifndef APP-PLUS
					uni.hideLoading();
					// #endif
					// #ifdef APP-PLUS
					plus.nativeUI.closeWaiting()
					// #endif



					// APP端可以获取详细地址
					/* 
					 IOS端如果设置定位中：如果不授权打开精确位置，则拿不到街道street和streetNum信息。
					 */
					// #ifdef APP-PLUS
					store.commit('setStartServeLocation', {
						latitude: res.latitude,
						longitude: res.longitude
					})
					// #endif
					let data = {
						latitude: res.latitude,
						longitude: res.longitude,
						equipment:platform == 'android' ? 1 : 0
					}
					resolve(data)
				},
				fail(err) {
					console.log(err, '获取位置失败了');
					// #ifndef APP-PLUS
					uni.hideLoading();
					// #endif
					// #ifdef APP-PLUS
					plus.nativeUI.closeWaiting()
					// #endif

					if (err.errCode == -1502) {
						// #ifdef APP-PLUS
						plus.nativeUI.toast('网络不畅，请稍后重试')
						// #endif
					} else {
						// #ifdef APP-PLUS
						// permision.gotoAppPermissionSetting()
						uni.showModal({
							title:'请联系客服',
							content: JSON.stringify(err)
						})
						// #endif
					}
					reject('获取位置失败了')
				}
			});
		} else {
			// permision.gotoAppPermissionSetting()
			reject('没开启权限')
			// #ifdef APP-PLUS
			plus.nativeUI.toast('没开启权限')
			// #endif
		}
	});
}





// 手动获取定位
export function getLocation(back, string = '1') {

	console.log(flag, 'flag----');
	if (openGps() || flag) {
		let type = platform == 'android' ? 'gcj02' : 'wgs84';

		// #ifndef APP-PLUS
		uni.showLoading({
			title: '获取位置中……',
		})
		// #endif
		// #ifdef APP-PLUS
		plus.nativeUI.showWaiting('获取位置中……')
		// #endif
		store.commit('setLatitude', '')
		store.commit('setLongitude', '')
		store.commit('setCity', '')
		store.commit('setAddress', '')
		uni.getLocation({
			/* 
			 Android端altitude设置为true,要不然定位失败，
			 ios端不需要
			 */
			altitude: platform == 'android' ? true : true,
			type: type,
			geocode: true, //安卓需指定 type 为 gcj02 并配置三方定位SDK。h5端需要逆解析地理位置获取城市
			success: res => {
				console.log(res, '地理位置12212222222222222222222');
				// #ifndef APP-PLUS
				uni.hideLoading();
				// #endif
				// #ifdef APP-PLUS
				plus.nativeUI.closeWaiting()
				// #endif
				// if(string=='2'){
				// 	let my = {

				// 	}
				// 	uni.$emit('myAddress', { my});
				// 	return
				// }

				// let location = res.longitude + ',' + res.latitude; //经纬度
				store.commit('setLatitude', res.latitude)
				store.commit('setLongitude', res.longitude)
				plus.nativeUI.toast('获取定位成功！')

				/*
				 在选择地址页面，选择完地址需要回到上个页面,更新当前护士地址
				 */



				// APP端可以获取详细地址
				/* 
				 IOS端如果设置定位中：如果不授权打开精确位置，则拿不到街道street和streetNum信息。
				 */
				// #ifdef APP-PLUS

				let city = res.address.city; //城市
				let street = res.address.street ? res.address.street : ''
				let streetNum = res.address.streetNum ? res.address.streetNum : ''

				let address = res.address.district + street + streetNum //详细地址
				console.log(address, '详细地址是');
				try {
					let detailAddress = res.address.province + city + res.address.district +
						address //省市区具体位置(一键报警用到)
					store.commit('setAddress', address)
					store.commit('setCity', city)
					// store.commit('setDetailAddress',detailAddress)

					// 用户详细地址，更新护士地址用
					// store.dispatch('updateAddress',detailAddress)

					if (back) {
						uni.navigateBack({
							delta: 1
						})
					}
				} catch (e) {
					console.log('error55555555555555555-------', e)
				}

				// #endif
			},
			fail(err) {
				console.log(err, '获取位置失败了');
				// #ifndef APP-PLUS
				uni.hideLoading();
				// #endif
				// #ifdef APP-PLUS
				plus.nativeUI.closeWaiting()
				// #endif

				if (err.errCode == -1502) {
					// #ifdef APP-PLUS
					plus.nativeUI.toast('网络不畅，请稍后重试')
					// #endif
				} else {
					// 1
					// // #ifdef APP-PLUS
					// // permision.gotoAppPermissionSetting()
					// //  #endif
					return false
				}
			}
		});
		return true
	} else {
		// permision.gotoAppPermissionSetting()
		return false
	}
}

export function openMyGps() {
	flag = false
	// 编译到非app平台返回都是true
	// #ifndef APP
	return true
	// #endif

	// #ifdef APP-PLUS
	if (platform == 'ios') {
		// https://ask.dcloud.net.cn/article/36020
		let cllocationManger = plus.ios.import('CLLocationManager');
		let enable = cllocationManger.locationServicesEnabled();
		let status = cllocationManger.authorizationStatus();
		if (enable && status != 2) {
			// console.log('定位开启可以获取用户位置了');
			return true
		} else {

			let UIApplication = plus.ios.importClass('UIApplication');
			let application2 = UIApplication.sharedApplication();
			let NSURL2 = plus.ios.importClass('NSURL');
			let setting2 = NSURL2.URLWithString('app-settings:'); // 打开应用权限
			application2.openURL(setting2);
			plus.ios.deleteObject(setting2);
			plus.ios.deleteObject(NSURL2);
			plus.ios.deleteObject(application2);

			watchPositon()

			return false
		}
		plus.ios.deleteObject(cllocationManger);
	} else {
		let context = plus.android.importClass('android.content.Context');
		let locationManager = plus.android.importClass('android.location.LocationManager');
		let main = plus.android.runtimeMainActivity();
		let mainSvr = main.getSystemService(context.LOCATION_SERVICE);
		if (mainSvr.isProviderEnabled(locationManager.GPS_PROVIDER)) {
			// console.log('定位开启可以获取用户位置了');
			return true
		} else {

			var Intent = plus.android.importClass('android.content.Intent');
			var Settings = plus.android.importClass('android.provider.Settings');
			var intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
			main.startActivity(intent); // 打开系统设置GPS服务页面

			watchPositon()

			return false
		}
	}
	// #endif
}

export function openGps() {
	flag = false
	// 编译到非app平台返回都是true
	// #ifndef APP
	return true
	// #endif

	// #ifdef APP-PLUS
	if (platform == 'ios') {
		// https://ask.dcloud.net.cn/article/36020
		let cllocationManger = plus.ios.import('CLLocationManager');
		let enable = cllocationManger.locationServicesEnabled();
		let status = cllocationManger.authorizationStatus();
		if (enable && status != 2) {
			// console.log('定位开启可以获取用户位置了');
			return true
		} else {
			uni.showModal({
				title: '温馨提示',
				content: '手动开启定位,以便护士小鹿为您提供更好的服务。',
				confirmText: '去设置',
				cancelText: '暂不开启',
				confirmColor: '#007AFF',
				success: function(res) {
					if (res.confirm) {
						let UIApplication = plus.ios.importClass('UIApplication');
						let application2 = UIApplication.sharedApplication();
						let NSURL2 = plus.ios.importClass('NSURL');
						let setting2 = NSURL2.URLWithString('app-settings:'); // 打开应用权限
						application2.openURL(setting2);
						plus.ios.deleteObject(setting2);
						plus.ios.deleteObject(NSURL2);
						plus.ios.deleteObject(application2);

						watchPositon()
					}
				}
			})
			return false
		}
		plus.ios.deleteObject(cllocationManger);
	} else {
		let context = plus.android.importClass('android.content.Context');
		let locationManager = plus.android.importClass('android.location.LocationManager');
		let main = plus.android.runtimeMainActivity();
		let mainSvr = main.getSystemService(context.LOCATION_SERVICE);
		if (mainSvr.isProviderEnabled(locationManager.GPS_PROVIDER)) {
			// console.log('定位开启可以获取用户位置了');
			return true
		} else {
			uni.showModal({
				title: '温馨提示',
				content: '手动开启定位,以便护士小鹿为您提供更好的服务。',
				confirmText: '去设置',
				cancelText: '暂不开启',
				confirmColor: '#007AFF',
				success: function(res) {
					if (res.confirm) {
						var Intent = plus.android.importClass('android.content.Intent');
						var Settings = plus.android.importClass('android.provider.Settings');
						var intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
						main.startActivity(intent); // 打开系统设置GPS服务页面

						watchPositon()
					}
				}
			})
			return false
		}
	}
	// #endif
}
// 不频繁问定位授权
export async function openGps1() {
	flag = false
	// 编译到非app平台返回都是true
	// #ifndef APP
	return true
	// #endif

	// #ifdef APP-PLUS
	if (platform == 'ios') {
		// https://ask.dcloud.net.cn/article/36020
		let cllocationManger = plus.ios.import('CLLocationManager');
		let enable = cllocationManger.locationServicesEnabled();
		let status = cllocationManger.authorizationStatus();
		if (enable && status != 2) {
			// console.log('定位开启可以获取用户位置了');
			return true
		} else {
			return false
		}
		plus.ios.deleteObject(cllocationManger);
	} else {
		let context = plus.android.importClass('android.content.Context');
		let locationManager = plus.android.importClass('android.location.LocationManager');
		let main = plus.android.runtimeMainActivity();
		let mainSvr = main.getSystemService(context.LOCATION_SERVICE);
		if (mainSvr.isProviderEnabled(locationManager.GPS_PROVIDER)) {
			// console.log('定位开启可以获取用户位置了');
			return true
		} else {
			uni.showModal({
				title: '温馨提示',
				content: '手动开启定位,以便护士小鹿为您提供更好的服务。',
				confirmText: '去设置',
				cancelText: '暂不开启',
				confirmColor: '#007AFF',
				success: function(res) {
					if (res.confirm) {
						var Intent = plus.android.importClass('android.content.Intent');
						var Settings = plus.android.importClass('android.provider.Settings');
						var intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
						main.startActivity(intent); // 打开系统设置GPS服务页面

						watchPositon()
					}
				}
			})
			return false
		}

	}
	// #endif
}
// 监听定位的变化吗?
export function watchPositon() {
	// #ifdef APP-PLUS
	var watchId = plus.geolocation.watchPosition((res) => {

		// console.log(res,'成功---地理位置变化是');
		plus.geolocation.clearWatch(watchId);
		flag = true
		getLocation() //更新定位

	}, function(err) {
		flag = false
		// code为2：网络定位失败
		// console.log(err,'监听地理位置变化出错了这是');
		// 关闭监听定位监听
		// plus.geolocation.clearWatch(watchId);
	})
	return flag

	// 页面返回取消监听也要
	// #endif

}
//权限判断
export async function requestAndroid(permisionID, msg) {
	if (uni.getSystemInfoSync().platform === 'android') {
		let result = await permision.requestAndroidPermission(permisionID) //1以获取 0未获取 -1权限禁止
		console.log('android', result)
		if (result == -1) {
			uni.showModal({
				title: '您尚未开启' + msg + '权限，是否前往开启？',
				confirmColor: '#3C8EFF',
				success(res) {
					if (res.confirm) {
						console.log(result, '群贤')
						permision.gotoAppPermissionSetting()
					} else if (res.cancel) {}
				}
			})
		}
	}
	// else{
	// 	let result =await permision.judgeIosPermission(permisionID)
	// 	console.log(result,'群贤')
	// 	if(!result){
	// 		uni.showToast({
	// 			icon:'none',
	// 			title:'您已禁止'+ msg + '权限，请前往手机设置开启'
	// 		})
	// 	}
	// }
}
// 首页需重新判断
export async function requestAndroid1(permisionID) {
	if (uni.getSystemInfoSync().platform === 'android') {

		let result = await requestAndroidPermission(permisionID) //1以获取 0未获取 -1权限禁止
		console.log('android', result)
		return result
	}
}
export async function judgeIosPermission(permissionID) {
	if (permissionID == "location") {
		return judgeIosPermissionLocation()
	} else if (permissionID == "camera") {
		return judgeIosPermissionCamera()
	} else if (permissionID == "photoLibrary") {
		return judgeIosPermissionPhotoLibrary()
	} else if (permissionID == "record") {
		return judgeIosPermissionRecord()
	} else if (permissionID == "push") {
		return judgeIosPermissionPush()
	} else if (permissionID == "contact") {
		return judgeIosPermissionContact()
	} else if (permissionID == "calendar") {
		return judgeIosPermissionCalendar()
	} else if (permissionID == "memo") {
		return judgeIosPermissionMemo()
	}
	return false;
}
export async function requestAndroidPermission(permissionID) {
	return new Promise((resolve, reject) => {
		plus.android.requestPermissions(
			[permissionID], // 理论上支持多个权限同时查询，但实际上本函数封装只处理了一个权限的情况。有需要的可自行扩展封装
			function(resultObj) {
				var result = 0;
				for (var i = 0; i < resultObj.granted.length; i++) {
					var grantedPermission = resultObj.granted[i];
					console.log('已获取的权限：' + grantedPermission);
					result = 1
				}
				for (var i = 0; i < resultObj.deniedPresent.length; i++) {
					var deniedPresentPermission = resultObj.deniedPresent[i];
					console.log('拒绝本次申请的权限：' + deniedPresentPermission);
					result = 0

				}
				for (var i = 0; i < resultObj.deniedAlways.length; i++) {
					var deniedAlwaysPermission = resultObj.deniedAlways[i];
					console.log('永久拒绝申请的权限：' + deniedAlwaysPermission);
					result = -1
				}
				resolve(result);
				// 若所需权限被拒绝,则打开APP设置界面,可以在APP设置界面打开相应权限
				// if (result != 1) {
				// gotoAppPermissionSetting()
				// }
			},
			function(error) {
				console.log('申请权限错误：' + error.code + " = " + error.message);
				resolve({
					code: error.code,
					message: error.message
				});
			}
		);
	});
}

export async function getLastestLocation() {
	let my = await judgeLocationPermission()
	console.log(my, 'judgeLocationPermission()')
	if (my) {
		let type = platform == 'android' ? 'gcj02' : 'wgs84';
		store.commit('setLatitude', '')
		store.commit('setLongitude', '')
		store.commit('setCity', '')
		store.commit('setAddress', '')
		uni.getLocation({
			altitude: platform == 'android' ? true : true,
			type: type,
			geocode: true, //安卓需指定 type 为 gcj02 并配置三方定位SDK。h5端需要逆解析地理位置获取城市
			success: res => {
				console.log(res, '地理位置-------------');
				// #ifndef APP-PLUS
				uni.hideLoading();
				// #endif
				// #ifdef APP-PLUS
				plus.nativeUI.closeWaiting()
				// #endif
				store.commit('setLatitude', res.latitude)
				store.commit('setLongitude', res.longitude)
				// #ifdef APP-PLUS
				let city = res.address.city; //城市
				let street = res.address.street ? res.address.street : ''
				let streetNum = res.address.streetNum ? res.address.streetNum : ''
				let address = res.address.district + street + streetNum //详细地址
				console.log(address, '详细地址是');
				store.commit('setCity', city)
				store.commit('setAddress', address)
				// #endif

			},
			fail(err) {
				console.log(err, '获取位置失败了');
				// #ifndef APP-PLUS
				uni.hideLoading();
				// #endif
				// #ifdef APP-PLUS
				plus.nativeUI.closeWaiting()
				// #endif

				if (err.errCode == -1502) {
					// #ifdef APP-PLUS
					// plus.nativeUI.toast('网络不畅，请稍后重试')
					// #endif
				} else {
					return false
				}
			}
		});
		return true
	} else {
		return false
	}
}
export function judgeLocationPermission() {
	flag = false
	// 编译到非app平台返回都是true
	// #ifndef APP
	return true
	// #endif
	return new Promise(async (resolve, reject) => {
		// #ifdef APP-PLUS
		let my = false
		if (platform == 'ios') {
			rssolve(judgeIosPermission('location'))
		} else {
			const appAuthorizeSetting = uni.getAppAuthorizeSetting()
			console.log(appAuthorizeSetting.locationAuthorized)
			let result = appAuthorizeSetting.locationAuthorized == 'authorized'
			// let result = await permision.requestAndroidPermission('android.permission.ACCESS_FINE_LOCATION')  //1以获取 0未获取 -1权限禁止
			console.log('-----=================android-定位', result)
			resolve(result)
		}
		// #endif
	})
}